<?php
/**
 * 
 * Kontroler odpowiedzialny za generowanie podstawowych lista Spry
 *
 */
class CrudController extends MainController implements ControllerInterface {

	
	/**
	 * lista główna
	 *
	 */
	public function ReadAction($param) {

	    // wczytanie modułu z listy
		
	   try
	   {
	       if(!isset ($param['module']))
		   throw new Exception('brak określonego modułu');
	       
		//pola do xml'a
	       $classObj = new $param['module']();
	       $xmlFields = $classObj->getFields();
	       
	       $className = 'Dal' . $param['module'];
	       //pobieramy klase
	       $TClassName = new $className();
	       
	       $fieldList = get_object_vars($classObj) ;
	       
	       foreach($classObj->getLinkedClasses() as $key => $value)
	       {
		   $TClassName->addJoin($key,$value);
	       }
	       
       	       //wyciągamy kolekcje
	       $classCollection = $TClassName->getAll();
	       
	       $this->smarty->assign('xmlFields', $xmlFields);
	       
	       //generujemy xml'a
	       $this->smarty->assign('classCollection', $classCollection);
	       
	   }
	   catch (Exception $e)
	   {
	       var_dump($e);
	   }
	}	
	
	
	/**
	 * strona edycji
	 *
	 */
	public function UpdateAction($param) {
		
	}
	
	/**
	 * strona usuwania
	 *
	 */
	public function RemoveAction($param) {
		
	}	
	
	/**
	 * strona dodawania
	 *
	 */
	public function CreateAction($param) {
		
	}	
	
	/**
	 * Metoda wspolna
	 *
	 */
	public function preDispatch($param) {
	    
	    $this->SetAjaxRender();
	}
	/**
	 * 
	 *
	 */
	public function postDispatch($param) {
	}
}
